Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Update foundations path structure #3611

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

thatblindgeye
Copy link
Contributor

Because

Currently the Foundations path structure differs from the two full stack paths. The Foundations structure could be more consistent with the full stack paths and provide some more context for the different courses within it.

This update would also be applicable for a potential JavaScript refresh for Foundations (currently TBD).

This PR

  • Adds proper courses to Foundations: Getting Started, HTML and CSS Foundations, JavaScript Foundations, and Beyond Foundations
  • Splits up the current lessons into the 4 new Foundation courses

Issue

Closes #XXXXX

Additional Information

Pull Request Requirements

  • I have thoroughly read and understand The Odin Project Contributing Guide
  • The title of this PR follows the keyword: brief description of change format, using one of the following keywords:
  • Feature - adds new or amends existing user-facing behavior
  • Chore - changes that have no user-facing value, refactors, dependency bumps, etc
  • Fix - bug fixes
  • The Because section summarizes the reason for this PR
  • The This PR section has a bullet point list describing the changes in this PR
  • I have verified all tests and linters pass after making these changes.
  • If this PR addresses an open issue, it is linked in the Issue section
  • If applicable, this PR includes new or updated automated tests

@thatblindgeye
Copy link
Contributor Author

@KevinMulhern could we get a preview build of this draft? Feel like it'd be easier to see what it does and for others to decide whether it's a good update to eventually merge in.

@ChargrilledChook ChargrilledChook added the create-review-app Create a Heroku review app for pull request label Jan 22, 2023
@ChargrilledChook ChargrilledChook temporarily deployed to odin-review-app-pr-3611 January 22, 2023 22:12 Inactive
@ChargrilledChook
Copy link
Member

@KevinMulhern could we get a preview build of this draft? Feel like it'd be easier to see what it does and for others to decide whether it's a good update to eventually merge in.

@thatblindgeye I've deployed a review app for you. Unfortunately a technical limitation means we can't automatically create them from forks, but if you work on the main repo you should see automatic builds.

@ChargrilledChook ChargrilledChook removed the create-review-app Create a Heroku review app for pull request label Jan 22, 2023
course.description = "With the foundational knowledge you've learned, you're almost ready to take on the rest of the curriculum. All that's left is to get a quick introduction to the backend and then a little help in choosing your future with TOP."
course.identifier_uuid = '7307ca83-e4cf-4789-b957-d4bdcfe3e200'
course.show_on_homepage = true
course.badge_uri = ''
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To add the badge, you need to put the name of the file here. These currently live at app/assets/images - see there for naming conventions.

You will also need to add a border-less version at app/assets/images/badges. It needs to follow a specific naming convention to work - app/assets/images/wombat.svg would need a corresponding app/assets/images/badges/wombat-borderless.svg.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yeah I noticed the badge icons there, but thank you for the info about the borderless versions! I haven't created badges for the two other courses I created here yet; that was the "not super urgent" bit I mentioned on Discord 😆 I figure I'd throw a draft up first and see what people think before getting badges done. Might depend whether people like this update, and if so whether it'd make sense to implement it now or wait until a potential JS refresh can occur to get them in around the same time.

Copy link
Member

@ChargrilledChook ChargrilledChook Jan 22, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thatblindgeye No stress at all, I just wanted to get the information out of my head while it was in front of me since how that works is not obvious at all 😅

If you wanted a placeholder, putting path.badge_uri = 'badge-foundations.svg' here would probably do the trick

@ChargrilledChook
Copy link
Member

@thatblindgeye is this project still on your radar? If not, is it ok if we close this draft until it's closer to being ready to implement? Happy to assist if you're still interested in rollling it out 🚀

@thatblindgeye
Copy link
Contributor Author

Yeah I want to get back to this as I think it'd be worthwhile an update. I'll update the draft to resolve conflicts this weekend then open it up out of draft. One "nice to have" would be having custom badges for the two courses that don't have them, but using a placeholder for now probably wouldn't be a bad idea.

@thatblindgeye thatblindgeye added create-review-app Create a Heroku review app for pull request and removed create-review-app Create a Heroku review app for pull request labels Jul 16, 2023
@thatblindgeye
Copy link
Contributor Author

@ChargrilledChook Resolved conflicts and made some updates. Attempted adding the label you previously added but you can see how that went 😆

@thatblindgeye thatblindgeye marked this pull request as ready for review July 16, 2023 18:54
section.description = 'Here we finally dig into JavaScript and learn how to make the web dynamic.'
section.identifier_uuid = '331227f7-c939-4988-b8b9-e140d2ded362'

section.add_lessons(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I feel like this is section is slightly too long, especially when compared with the other new sections. Could maybe split on DOM manipulation, since that also conceptually is very different from what comes before it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To my knowledge these section description fields are vestigial since the Tailwind rework. We no longer show them anywhere

@KevinMulhern
Copy link
Member

Thanks for doing this @thatblindgeye, I'm definitely in favour of breaking things up more 🚀

Theres a bit more needed for this than appears on the surface unfortunately. Basically, all existing submissions and completions will be deleted for the foundation lessons.

It suffers from the same problems as we've been discussing with the new React course. To keep all the existing completions and submissions we'll have to put together a data migration to transfer all those records to these new courses/lessons. But the migration for this will be many times more complex because of how many lessons, completions and submissions are involved.

I've been thinking about it quite a bit since it came up with the React course and might have something to make these changes easy. I'll need 2/3 weeks to put it together.

@thatblindgeye
Copy link
Contributor Author

@KevinMulhern Yeah that's something I was wondering whether would be an issue. This isn't really anything that is a rush to get in, so we can definitely hold off on seeing if there's an easier way to make these kinds of changes.

@KevinMulhern
Copy link
Member

Hey @thatblindgeye, just an update - 2/3 weeks was a bit ambitious of me lol. But I have been experimenting with different data models, I'm close to something that can work long term, no eta yet, but I'll keep you posted.

@thatblindgeye
Copy link
Contributor Author

@KevinMulhern no worries! This may ultimately depend how we want to present the curriculum to make things clearer based on that conversation that was opened on Discord a little bit ago, but if we still present Foundations as a path then updating the structure would make sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants